Arranging Secondary Images Adjacent to a Primary Image

ABSTRACT

A method includes determining a target layout in which secondary images ( 504 ) are placed along an edge ( 506, 508 ) of a primary image ( 502 ), dividing each of the secondary images ( 504 ) into one of a horizontal group and a vertical group according to the target layout and dimensions of each of the secondary images ( 504 ), dividing any of the secondary images ( 504 ) in the horizontal group into one of a top group ( 706 ) and a bottom group ( 708 ) according to the target layout and a width of each of the secondary images ( 504 ) in the horizontal group, dividing any of the secondary images ( 504 ) of the vertical group into one of a left group and a right group according to the target layout and a height of each of the secondary images ( 504 ) in the vertical group, and placing each of the secondary images ( 504 ) adjacent to an edge ( 506, 508 ) of the primary image ( 502 ) according to an assigned group of each secondary image ( 504 ).

BACKGROUND

Great strides have been made in the last several decades in the realmsof data processing and storage. As a result of this increased processingand storage capacity, the use of digital media has sizably increased forboth individuals and organizations. The ubiquity of digital media inmodern society has increased demand for media organization andpresentation solutions.

Some types of software allow a user to organize a group of digitalimages according to a desired layout. For example, a user may usesoftware to create a page layout having a central image and varioussecondary images arranged according to a desired configuration withrespect to the central image. Nevertheless, achieving a satisfactoryresult with such a layout may require the user to resize the images tobe used in the layout and to manually arrange the images according tothe desired configuration. These tasks may be difficult and/or timeconsuming for the user, especially if the secondary images used are notof a uniform size or orientation.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of theprinciples described herein and are a part of the specification. Theillustrated embodiments are merely examples and do not limit the scopeof the claims.

FIG. 1 is a diagram showing an illustrative image layout system capableof placing a number of secondary images with a primary image, accordingto one embodiment of principles described herein.

FIG. 2 is a flowchart showing an illustrative method for arrangingsecondary images adjacent to a primary image, according to oneembodiment of principles described herein.

FIG. 3 is a diagram showing an illustrative method for adjusting sizesof secondary images, according to one embodiment of principles describedherein.

FIG. 4 is a diagram showing an illustrative method for adjusting sizesof secondary images, according to one embodiment of principles describedherein.

FIG. 5 is a diagram showing an illustrative layout of secondary imageswith a primary image in a horizontal-major arrangement, according to isone embodiment of principles described herein.

FIG. 6 is a diagram showing an illustrative layout of secondary imageswith a primary image in a vertical-major arrangement, according to oneembodiment of principles described herein.

FIGS. 7A and 7B are diagrams showing an illustrative method forbalancing the total lengths of two groups of secondary images, accordingto one embodiment of principles described herein.

FIGS. 8A-8D are diagrams showing illustrative layouts for secondaryimages placed with a primary image, according to one embodiment ofprinciples described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

Image layout software allows users to design and create layouts forimages such as photos, artwork and text blocks. In certain image layoutprograms, a user is able to place several smaller images around a largerimage. The larger image, which may be referred to as the primary image,may present the main subject of a layout. The smaller images, which maybe referred to as secondary images, may present various aspects of themain subject of a layout. The process of manually laying out secondaryimages around a primary image can be a difficult and/or time consumingtask. For example, a user may spend a significant amount of timeadjusting the size and position of several images on a single page inorder to find an aesthetically acceptable arrangement.

Some types of image layout software provide a set of templates thatallow a user to place a set number of secondary images around a primaryimage. Although such templates may save a user some time over purelymanual solutions, they are often inflexible or limiting with regard tothe number and location of images that may be placed on the page.Additionally many templates limit the aspect ratio of images usedtherewith, thereby forcing the user to crop a noncompliant image inorder to make it fit a predefined location on a page.

In light of the above considerations, the present specification relatesto systems and method for producing a layout of secondary imagesarranged adjacent to a primary image. For example, one such layout mayinclude secondary images placed completely around a primary image withthe secondary images being oriented either vertically or horizontallywith respect to the primary image.

According to one illustrative embodiment, a target layout may bedetermined. The target layout may specify the manner in which thesecondary images are to be placed around the primary image. The set ofsecondary images may be divided into a horizontal group and a verticalgroup according to the target layout. Some target layouts may specifythat secondary images are placed only along vertical edges, in whichcase the secondary images are all placed into the vertical group whilethe horizontal group remains empty. The horizontal group may be furtherdivided into a top group and a bottom group according to the targetlayout. Likewise, the vertical group may be further divided up into aleft group and a right group according to the target layout. Thesecondary images may then be placed along an edge of the primary imageaccording to their assigned groups.

An image layout system embodying principles described herein may providea user with a dynamic way of arranging secondary images around a primaryimage. The methods and systems described herein may work with a range ofsecondary image counts. In addition, a low computational load isexhibited as most calculations are performed on one dimension of animage.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present systems and methods. It will be apparent,however, to one skilled in the art that the present apparatus, systemsand methods may be practiced without these specific details. Referencein the specification to “an embodiment,” “an example” or similarlanguage means that a particular feature, structure, or characteristicdescribed in connection with the embodiment or example is included in atleast that one embodiment, but not necessarily in other embodiments. Thevarious instances of the phrase “in one embodiment” or similar phrasesin various places in the specification are not necessarily all referringto the same embodiment.

Throughout this specification and in the appended claims, the term“image layout system” is to be broadly interpreted as a physicalcomputing system including a processor, memory, and a user interfacecapable of arranging images on a page and displaying the arrangement toa user.

Throughout this specification and in the appended claims, the term“image” may refer to any visual representation, including, but notlimited to, photographs, artwork, text, and combinations thereof. Theterm “primary image” is to be broadly interpreted as a main or centralimage within a layout. The term “secondary image” is to be broadlyinterpreted as any image within a layout which is not the primary image.

Throughout this specification and in the appended claims, a “border” mayrefer to the region around a primary image where secondary images areplaced. A border may be given a “thickness” which may refer to theheight of secondary images placed above or below a primary images and awidth of secondary images placed to the left or to the right of aprimary image.

Referring now to the figures, FIG. 1 is a diagram showing anillustrative image layout system (100). According to one illustrativeembodiment, an image layout system may include a processor (104), a userinterface (110), and a memory (102) having image layout software (106)and a number of images (108) stored thereon.

The image layout system (100) may be embodied as any physical computingdevice or combination of physical computing devices that may suitparticular application of the principles described herein. For example,the image layout system (100) may be embodied by, but is not limited to,any of a laptop computer, a desktop computer, a server, and a PersonalDigital Assistant (PDA). The memory (102) of the image layout system(100) may include, but is not limited to, a magnetic disk drive, a solidstate drive, volatile solid-state memory, and/or an optical disc drive.

The image layout software (106) stored by the memory (102) may beembodied as computer readable code configured to cause the processor(104) to execute various instructions related to the layout ofindividual images (108) on a page.

An image (108) may be any type of image including, but not limited to, aphoto, a text block, or a piece of artwork. A collection of images (108)may include images imported from another memory medium as well as imagesdesigned and/or created with the image layout system (100).

The user interface (110) may enable interaction between the image layoutsystem (100) and a user (112). The user interface (110) may include adisplay device as well as an input receiving device such as a keyboardor a mouse. Through the user interface (110), a user (112) is able tosend commands to the image layout system (100). These commands mayinvolve the layout of images (108). Information about images (108) andtheir layout may be presented to the user (112) through the displaydevice.

FIG. 2 is a flowchart showing an illustrative method (200) for arrangingsecondary images adjacent to a primary image. According to oneillustrative embodiment, a user may select a target layout. A set ofsecondary images may then be divided up into groups according to thetarget layout selected by the user. The secondary images may then beplaced to an edge of the primary image according to their assignedgroup.

To determine (step 202) a target layout, a user may select a particularlayout from a list of possible layouts. In some embodiments, a number ofcandidate target layouts may be generated and a user may cycle throughthem to select a desired layout. A target layout may specify how anumber of secondary images are arranged adjacently to a primary image.For example, a target layout may specify that the secondary images onlybe placed along only one of any side of the primary image. In a furtherexample, secondary images may be placed entirely around the primaryimage. More examples of target layouts will be discussed below incorrelation with FIG. 8.

The set of secondary images to be placed adjacently to the primary imagemay be divided (step 204) into a horizontal group and a vertical group.The manner in which the division occurs may depend on the target layout.For example, if the secondary images are only to be placed alongvertical edges of a primary image, then each secondary image will beplaced into the vertical group and no secondary images will be placed inthe horizontal group. In a further example, if the secondary images areto be placed all around the primary image, then the secondary imageswill be placed into both groups. The ratio of the heights of the imagesin the vertical group to the widths of the secondary images in thevertical group may depend on the selected target layout. Examples ofways to divide the secondary images into a horizontal group and avertical group will be discussed in more detail below in correlationwith FIG. 5 and FIG. 6.

The horizontal group may be further divided (step 206) up into a topgroup and a bottom group. If the target layout specifies images to beplaced along only one of the top or bottom group, any of the secondaryimages in the horizontal group may be placed into only one of thegroups. For example, if the target layout specifies that secondaryimages are to be placed along the bottom edge of a primary image and notthe top edge, then each secondary image in the horizontal group may beplaced into the bottom group while the top group remains empty.

The vertical group may be further divided (step 208) up into a leftgroup and a right group. If the target layout specifies images to beplaced along only one of the right or left groups, any of the secondaryimages in the vertical group may be placed into only one of the groups.For example, if the target layout specifies that secondary images are tobe placed along the right edge of a primary image and not the left edge,then each secondary image in the vertical group may be placed into theright group while the left group remains empty. More details on theprocess of further dividing horizontal or vertical groups will bediscussed below in correlation with FIG. 7.

After each of the secondary images has been assigned to an appropriategroup, they may be placed according to their assigned groups. Forexample, if there are any images in the left group, they will be placedalong the left edge of the primary image. Each image will be placedalong an edge of the primary image according to its assigned group.

The exact dimensions of the primary image and secondary images may thenbe adjusted for a more appropriate fit. A function may also be appliedto determine which order the secondary images are placed along theirassigned edges.

In one embodiment, the image layout system (300) may be configured tonormalize each of the secondary images. In this case, the dimensions ofthe secondary images will be scaled so that they all have the same area.The exact area they are given may depend on a variety of factorsincluding, but not limited to, the overall layout dimensions, theprimary image dimensions, and user selection.

FIG. 3 is a diagram showing an illustrative method for adjusting sizesof secondary images (302, 304, 306). According to one illustrativeembodiment, a set of secondary images (302, 304, 306) may have anormalized area. The secondary images may then be used as part of ahorizontal layout (308) or a vertical layout (310).

In one embodiment, the secondary images which have been selected by auser to be placed around a primary image may be normalized to a specificarea. In this case, the height and width of each secondary image will beadjusted while maintaining the aspect ratio. Generally, each secondaryimage may have a different height or width.

At the top of FIG. 3, three illustrative secondary images (302, 304,306) are shown with their initial relative dimensions. These images(302, 304, 306) may then be scaled so that they all exhibit the samearea. If the images (302, 304, 306) are placed into a horizontal group,they may be arranged in a horizontal layout (308) as shown in the middleof FIG. 3. If the images (302, 304, 306) are placed into a verticalgroup, they may be arranged in a vertical layout (310) as shown at thebottom of FIG. 3.

In one embodiment, the secondary images may be scaled so that they eachhave the same height or width. In this embodiment, a border thicknessmay be determined. The secondary images placed horizontally along theprimary image may be scaled so that their heights match the borderthickness. Likewise, the secondary images placed vertically along theprimary image may be scaled so that their widths match the borderthickness.

FIG. 4 is a diagram showing an illustrative method for adjusting sizesof secondary images to match a border thickness. According to oneillustrative embodiment, a set of secondary images (402, 404, 406) maybe placed into a horizontal layout (408) or a vertical layout (410).

In one embodiment, the graphic image layout system may be configured toscale each of the secondary images to fit within an assigned borderthickness. The border thickness does not need to be the same for eachportion of the border. For example, the top border may be slightlythicker than the bottom border. Likewise, the right border may beslightly thinner than the left border.

At the top of FIG. 4, three illustrative secondary images (402, 404,406) are shown with their initial relative dimensions. These images(402, 404, 406) may then be scaled so that they have a matchingdimension. If the images (402, 404, 406) are placed into a horizontalgroup, they may be arranged in a horizontal layout (408) and be scaledso that they have matching heights as shown in the middle of FIG. 4. Ifthe images (402, 404, 406) are placed into a vertical group, they may bearranged in a vertical layout (410) and be scaled so that they havematching widths as shown at the bottom of FIG. 4.

FIG. 5 is a diagram showing an illustrative layout of secondary imageswith a primary image in a horizontal-major arrangement. Additionally,FIG. 5 shows an embodiment in which the secondary images have beennormalized. According to one embodiment, secondary images (504) from ahorizontal group are placed along a horizontal edge (506) of the primaryimage (502) and secondary images (504) from a vertical group are placedalong a vertical edge (508) of the primary image (502).

A horizontal-major layout (500) is one in which the secondary images(504) placed horizontally along the primary image (502) extend past theprimary image (502) and are placed horizontally above or below thevertically placed secondary images (504). When a horizontal-major layoutis used, the image layout system may divide the secondary images betweenthe horizontal group and the vertical group so that the ratio of thetotal width of the horizontal group to the total height of the verticalgroup is similar to the ratio of the width of the primary image plus theborder widths on the sides to the height of the primary image (502). Ifthe secondary images (504) have been normalized as shown in FIG. 5, theborder widths on both the left and the right side may depend on thewidths of the secondary images (504) contained therein. Because thewidths of the normalized secondary images (504) may vary, the imagelayout system may be configured to use the width of the widestvertically placed secondary image (504) as the border width.

As mentioned above, the horizontal group may be further divided into atop group and a bottom group. The secondary images (504) in the topgroup may be placed along the top horizontal edge (506) of the primaryimage (502) and the secondary images (504) in the bottom group may beplaced along the bottom horizontal edge (506) of the primary image(502). Likewise, the vertical group may be further divided into a leftgroup and a right group. The secondary images (504) in the left groupmay be placed along the left vertical edge (508) of the primary image(502) and the secondary images (504) in the right group may be placedalong the right vertical edge (408) of the primary image (502).

The total length of the secondary images (504) in the top group may notprecisely match the total length of the secondary images (504) in thebottom group. Likewise, the total height of the secondary images (504)in the left group may not precisely match the total length of thesecondary images (504) in the right group. The spacing between secondaryimages (504) may be adjusted to account for slight differences in totallength. For example, if the total length of the top group is smallerthan the total length of the bottom group. The spacing between thesecondary images (504) in the top group may be increased so that thetotal length plus spacing of the top group is equal to the total lengthplus spacing of the bottom group.

FIG. 6 is a diagram showing an illustrative layout of secondary imageswith a primary image in a vertical-major arrangement. Additionally, FIG.6 illustrates a layout in which the secondary images have been scaled tomatch a border thickness. According to one embodiment, secondary images(604) from a horizontal group are placed along a horizontal edge (606)of the primary image (602) and secondary images (604) from a group areplaced along a vertical edge (608) of the primary image (602).

A vertical-major layout is one in which the secondary images (604)placed vertically along the primary image (602) extend past the primaryimage (602) and are placed vertically along the horizontally placedsecondary images (604). When a vertical-major layout (600) is used, theimage layout system may divide the secondary images between thehorizontal group and the vertical group so that the ratio of the totalwidth of the horizontal group to the total height of the vertical groupis similar to the ratio of the width of the primary image to the heightof the primary image (602) plus the border widths both above and belowthe primary image (602). The secondary images (604) may be scaled tomatch a specific border width as shown in FIG. 6.

In one embodiment, the image layout system may be configured to preferthe placement of landscape shaped secondary images (604) into ahorizontal group and portrait shaped images into a vertical group. Insome embodiments, the choice between a horizontal-major layout and avertical-major layout may depend on the ratio of portrait shapedsecondary images (604) to landscape shaped secondary images (604). Forexample, if there are more portrait shaped secondary images (604) thanlandscape shaped images (604), it may be preferable to use avertical-major layout. Conversely, if there are more landscape shapedsecondary images (604) than there are portrait shaped secondary images(604), it may be preferable to use a horizontal-major layout.

In one embodiment, the order in which secondary images (604) are placedalong their assigned edges may be random. In some embodiments, anordering function may be applied to place the secondary images (604) ina diverse order. An ordering function may be configured to avoid placingsecondary images (604) with similar aspect ratios adjacent to eachother. For example, portrait shaped images may be placed betweenlandscape shaped images and vice versa.

As mentioned above, the spacing between the secondary images (604) maybe adjusted so that the top and bottom groups have similar lengths. Toreduce the amount of spacing which may need to be used, a top and bottomgroup may be divided so as to minimize the difference in total widths.Likewise, a left and right group may be divided so as to minimize thedifference in total height between both groups.

FIG. 7 is a diagram showing an illustrative method for balancing thetotal lengths of two groups of secondary images. According to oneillustrative embodiment, a horizontal group or a vertical group may befurther divided into two groups. For example, the horizontal group maybe divided into a top group (706) and a bottom group (708). A balancingfunction (700) may then be applied to make the lengths of the two groupsrelatively similar. This balancing function may be used to divide theinitial collection of secondary images into a horizontal group and avertical group. The function may also be used to divide the resultinghorizontal group into top and bottom groups if required by the targetlayout or to divide the resulting vertical group into left and rightgroups if required by the target layout.

In one embodiment, an initial division of a horizontal group may beapplied. A balancing function (700) may then be used to transfer imagesbetween a top group (706) and a bottom group (708). For example, FIG. 7Ashows an initial division of secondary images between a top group (706)and a bottom group (708). The total width of the top group (706) issubstantially smaller than the total width of the bottom group (708).The balancing function (700) may determine that the best way to balancethe total widths of both groups (706, 708) would be to swap object 2(702) with object 6 (704). FIG. 7B shows the division of secondaryimages between a top group (706) and a bottom group (708) after a swap.The top group (706) is now similar in total width to the bottom group(708).

In one embodiment, a set of candidate divisions of a horizontal groupmay be generated. The total widths of both the top group (706) and thebottom group (708) may be compared. The candidate division having theminimal difference in total width between the top group (706) and thebottom group (708) may be selected.

The same principles described above for balancing the total widths of abottom group (708) and a top group (706) may apply to balancing a leftgroup and a right group. A balancing function (700) may be applied sothat a left group has a total height similar to that of a right group.

FIG. 8 is a diagram showing illustrative layouts for secondary imagesplaced with a primary image. As mentioned above, in some embodiments,the secondary images (804) do not completely surround the primary image(802).

FIG. 8A shows an illustrative corner layout (800) in which the primaryimage (802) is placed in the top right corner and the secondary images(804) are along the bottom horizontal edge and the right vertical edgeonly. In such a layout, both the vertical group and the horizontal groupneed not be further divided into two groups. The secondary images (804)may be placed in either a horizontal-major order or a vertical majororder. In a horizontal major order, the secondary images (804) placedalong the bottom edge of the primary image (802) extend past the rightedge of the primary image (802) to be placed beneath the verticallyplaced secondary images (804). In a vertical-major order, the secondaryimages (804) on the right side of the primary image (802) extend belowthe primary image (802) and are placed on the right side of thehorizontally placed secondary images (804). A corner layout may bepresented with the primary image (802) placed in any of the four cornersof the full layout.

FIG. 8B shows a single edge layout (806) in which the secondary images(804) are placed on only one side of the primary image (802). Thislayout may be more practical when the number of secondary images (804)is relatively small. A single edge layout (806) may have the secondaryimages (804) placed solely on any of the four edges of a primary image(802). In the case of a single edge layout (806), each of the secondaryimages (804) may be placed into either a vertical group or a horizontalgroup, depending on which edge they are to be placed.

FIG. 8C shows a vertical edge layout (808) in which each of thesecondary images (804) are arranged adjacent to both vertical edges of aprimary image (802). This layout may be preferred if a majority of thesecondary images (804) have portrait shaped dimensions. This layout maybe represented by a division between horizontal and vertical groups inwhich each of the secondary images (804) are placed into the verticalgroup. The vertical group may then be further divided into a left groupand a right group. A balancing function may then be applied to balancethe heights of each group.

FIG. 8D shows a horizontal edge layout (810) in which secondary images(804) are arranged adjacent to both horizontal edges of a primary image(802). This layout may be preferred if a majority of the secondaryimages (804) have landscape shaped dimensions. This layout may berepresented by a division between horizontal and vertical groups inwhich each of the secondary images (804) are placed into a horizontalgroup. The horizontal group may then be further divided into a top groupand a bottom group. A balancing function may then be applied to balancethe widths of each group.

After a final layout is presented, a user may wish to manually makechanges. For example, a user may wish to add an image. In this case, theprocess may be repeated with the additional image added to a secondaryimage. The user may also wish to swap images. For example, a user maywish a particular image from the top group to be switched with an imagein the bottom group. The spacing between images may be adjusted afterthe swap so that the total width of the top group matches the totalwidth of the bottom group. In addition, a user may manually adjust theordering of the secondary images. Switching the order may notnecessitate repeating the whole process of determining a layout for aset of secondary images adjacent to a primary image.

In one embodiment, the dimensions of the area of the primary image maygrow or shrink while maintaining its aspect ratio. The dimensions andspacing of each of the secondary images may be adjusted accordingly. Ifthe primary image increases in area, the secondary images may have to bereduced in area. Conversely, if the primary image is decreased in area,the area of the secondary images may be increased.

In sum, to provide a layout of images in which a number of secondaryimages are placed adjacent to a primary image, a target layout isdetermined. A set of secondary images may then be divided up between ahorizontal group and a vertical group according to the target layout.The horizontal group may be divided into a top and bottom group and thevertical group may be further divided into a left group and a rightgroup according to the target layout. The secondary images from thehorizontal group may then be placed along a horizontal edge of theprimary image and the secondary images from the vertical group may beplaced along a vertical edge of the primary image.

The preceding description has been presented only to illustrate anddescribe embodiments and examples of the principles described. Thisdescription is not intended to be exhaustive or to limit theseprinciples to any precise form disclosed. Many modifications andvariations are possible in light of the above teaching.

1. A method performed by a physical computing system (100) for arranginga number of secondary images (504) adjacent to a primary image (502),the method comprising: determining a target layout in which saidsecondary images (504) are placed along at least one edge (506, 508) ofsaid primary image (502); dividing each of said secondary images (504)into one of a horizontal group and a vertical group according to saidtarget layout and dimensions of each of said secondary images (504);dividing any of said secondary images (504) in said horizontal groupinto one of a top group (706) and a bottom group (708) according to saidtarget layout and a width of each of said secondary images (504) in saidhorizontal group; dividing any of said secondary images (504) of saidvertical group into one of a left group and a right group according tosaid target layout and a height of each of said secondary images (504)in said vertical group; and placing each of said secondary images (504)adjacent to an edge (506, 508) of said primary image (502) according toan assigned group of each said secondary image (504).
 2. The method ofclaim 1, in which said target layout dictates that a ratio of a totalheight of said secondary images (504) in said vertical group to a totalwidth of said secondary images (504) in said horizontal group be similarto a ratio of a height of said primary image (502) to a width of saidprimary image (502) plus a width of a secondary image (504) within saidvertical group.
 3. The method of claims 1, in which said target layoutdictates that a ratio of a total height of said secondary images (504)in said vertical group to a total width of said secondary images (504)in said horizontal group be similar to a ratio of a height of saidprimary image (502) plus a height of a secondary image (504) within saidhorizontal group to a width of said primary image (502).
 4. The methodof any of claims 1-3, further comprising applying a balancing function(700) to cause a total width of said secondary images (504) in said topgroup (706) to be similar to a total width of said secondary images(504) in said bottom group (708).
 5. The method of any of claims 1-4,further comprising, applying a balancing function (700) to cause a totalheight of said secondary images (504) in said left group to be similarto a total height of said secondary images (504) in said right group. 6.The method of any of claims 1-5, further comprising normalizing an areaof said secondary images (504).
 7. The method of any of claims 1-6,further comprising: adjusting dimensions of said primary image (502);and adjusting dimensions of each of said secondary images (504) to matchsaid dimensions of said primary image (502).
 8. The method of any ofclaims 1-7, in which dividing each of said secondary images (504) intoone of a horizontal group and a vertical group further comprises givingpreference for a secondary image (504) having portrait dimensions tosaid vertical group and giving preference for a secondary image (504)having landscape dimensions to said horizontal group.
 9. The method ofany of claims 1-8, further comprising ordering a placement of saidsecondary images (504) along said primary image (502) such that any ofsaid secondary images (504) comprising similar aspect ratios aredistributed evenly across an edge of said primary image (502).
 10. Acomputing system comprising: a processor (104); and a memory (102)communicatively coupled to said processor (104) and having image layoutsoftware (106) stored thereon; in which said image layout software (106)is configured to, upon execution of said software (106), to cause saidprocessor (104) to: determine a target layout in which said secondaryimages (504) are placed along at least one edge (406, 408) of saidprimary image (502); divide each of said secondary images (504) into oneof a horizontal group and a vertical group according to said targetlayout and dimensions of each of said secondary images (504); divide anyof said secondary images (504) in said horizontal group into one of atop group (706) and a bottom group (708) according to said target layoutand a width of each of said secondary images (504) in said horizontalgroup; divide any of said secondary images (504) of said vertical groupinto one of a left group and a right group according to said targetlayout and a height of each of said secondary images (504) in saidvertical group; and place each of said secondary images (504) adjacentto an edge (506, 508) of said primary image (502) according to anassigned group of each said secondary image (504).
 11. The computingsystem of claim 10, in which said target layout dictates that a ratio ofa total height of said secondary images (504) in said vertical group toa total width of said secondary images (504) in said horizontal group besimilar to a ratio of a height of said primary image (502) to a width ofsaid primary image (502) plus a width of a secondary image (504) withinsaid vertical group.
 12. The computing system of claim 10, in which saidtarget layout dictates that a ratio of a total height of said secondaryimages (504) in said vertical group to a total width of said secondaryimages (504) in said horizontal group be similar to a ratio of a heightof said primary image (502) plus a height of a secondary image (504)within said horizontal group to a width of said primary image (502). 13.The computing system of any of claims 10-12, in which said processor(104) is further configured to apply a balancing function (700) to causea total width of said secondary images (504) in said top group (706) tobe similar to a total width of said secondary images (504) in saidbottom group (708).
 14. The computing system of any of claims 10-13, inwhich said processor (104) is further configured to apply a balancingfunction (700) to cause a total height of said secondary images (504) insaid left group to be similar to a total height of said secondary images(504) in said right group.
 15. A computer program product for providinga layout for images, said computer program product comprising: acomputer readable storage medium having computer readable code embodiedtherewith, said computer readable program code comprising: computerreadable program code configured to: determine a target layout in whichsaid secondary images (504) are placed along at least one edge (506,508) of said primary image (502); divide each of said secondary images(504) into one of a horizontal group and a vertical group according tosaid target layout and dimensions of each of said secondary images(504); divide any of said secondary images (504) in said horizontalgroup into one of a top group (706) and a bottom group (708) accordingto said target layout and a width of each of said secondary images (504)in said horizontal group; divide any of said secondary images (504) ofsaid vertical group into one of a left group and a right group accordingto said target layout and a height of each of said secondary images(504) in said vertical group; and place each of said secondary images(504) adjacent to an edge (406, 408) of said primary image (502)according to an assigned group of each said secondary image (504).